package com.qf.dao;

import com.qf.pojo.Admin;
import com.qf.pojo.User;

import java.sql.SQLException;
import java.util.List;

/**
 * @author Kuke
 * @date 2023/5/24 16:41
 * 管理员的数据访问接口
 */
public interface AdminDao {
    /**
     * 数据访问接口 获取管理员实体
     * @param username 传过来的用户名
     * @return 返回实体
     */
    Admin selectAdminByUsername(String username) throws SQLException;

    /**
     * 数据访问接口 获取前台所有用户
     * @return返回 用户列表
     */
    List<User> selectUsers() throws SQLException;

    /**
     * 数据访问接口获取前台指定的用户
     * @param uid 用户uid
     * @return 返回用户实体
     */
    User selectUserByUid(String uid) throws SQLException;

    /**
     * 数据访问接口更新用户
     * @param user 用户实体
     * @return 返回影响的行数
     */
    int updateUser(User user) throws SQLException;

    /**
     * 数据访问接口 删除指定的用户
     * @param uid 用户id
     * @return 返回影响的行数
     */
    int deleteUser(String uid) throws SQLException;

    /**
     * 查询用户总记录数
     * @return 返回总条数
     */
    int getTotalCount() throws SQLException;

    /**
     * 分页查询用户
     * @param currentPage 当前页码
     * @param pageSize     每页显示的条数
     * @return  返回分页后查询的列表
     */
    List<User> getUserByPage(int currentPage,int pageSize) throws SQLException;
}
